home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-1.iso / comm / slip_irc.zip / IRC.004 < prev    next >
Text File  |  1994-08-17  |  13KB  |  353 lines

  1.                                               Author: Karl Kleinpaste
  2.                                                       karl@cis.ohio-state.edu
  3.                                                 Date: 04 Apr 1989
  4.                                    Last modification: 04 Apr 1989
  5.  
  6.              INTERNET RELAY CHAT
  7.           a real-time conversational system
  8.  
  9.  
  10. * 1: Irc - replacement for talk(1)
  11.  
  12. Irc is a functional replacement for and improvement to talk(1).  Talk
  13. is an old, primitive, atrocious, minimalist sort of keyboard/screen
  14. conversation tool, using a grotesque, machine-dependent protocol.
  15. Irc does everything talk does, but with a better protocol, allowing
  16. more than 2 users to talk at once, with access across the aggregate
  17. Internet, and providing a whole raft of other useful features.
  18.  
  19. * 2: Entering Internet Relay Chat
  20.  
  21. Type `irc'.  If one wishes to be known by a nickname which is not
  22. one's login name, type `irc chosen-nickname' instead.
  23.  
  24. * 3: How much can be seen from here
  25.  
  26. The universe - seriously.
  27.  
  28. This is most formally called Internet Relay Chat.  Server hosts are
  29. connected via a tree structure.  The various servers relay control and
  30. message data among themselves to advertise the existence of other
  31. servers, users, and the channels and other resources being occupied by
  32. those users.
  33.  
  34. * 4: Structure
  35.  
  36. There is quite a lot of structure to the operation of irc, as
  37. compared to crufty old talk(1).  Since so little could be done with
  38. talk(1), it needed little structure.  But to keep track of people
  39. spread literally around the world (the system was written by Jarkko
  40. Oikarinen of Finland, usually seen on the system as `Wiz'), the
  41. structure is useful so that one can speak to exactly those people with
  42. whom one wishes to speak.
  43.  
  44. ** 4.1: Nicknames
  45.  
  46. All users of irc are known to the system by a `nickname.'  By
  47. default, one's nickname is one's login name.  Nickname clashes are not
  48. allowed; this is enforced by the servers.  If one's intended nickname
  49. clashes with someone else as one enters chat, one will not be able to
  50. complete entry to irc until one changes one's nickname to something
  51. else.
  52.  
  53. ** 4.2: Presence on a channel
  54.  
  55. Fundamental to the operation of irc is the concept of a channel.  All
  56. users are `on a channel' while inside irc.  One enters the `null
  57. channel,' channel 0, first.  One cannot send any messages while in
  58. channel 0 unless one has set up a private conversation in some way.
  59. The number of channels is essentially unlimited - whatever will fit in
  60. a 32-bit integer.
  61.  
  62. ** 4.3: Types of channels
  63.  
  64. There are 3 channel types, with increasing levels of privacy afforded
  65. them.
  66.  
  67. *** 4.3.1: Public channels
  68.  
  69. Public channels are channels 1-999.  If one is on one of these
  70. channels, one can be seen by all other users.  Anyone can notice users
  71. on a public channel and join such a channel's conversation.
  72.  
  73. *** 4.3.2: Secret channels
  74.  
  75. Channels 1000-up are called `secret.'  This means that, although
  76. anyone can see that one is using chat, no one can tell what channel
  77. one is using unless one is already on that channel with oneself.
  78. Since the number of potential channels is in the billions, this is
  79. quite some security - all one gives away is the acknowledgement that
  80. one is using chat.
  81.  
  82. *** 4.3.3: Hidden channels
  83.  
  84. Negative channel numbers are called `hidden.'  While one is on a
  85. hidden channel, no one who is not on one's channel with oneself can
  86. even see that one is there.  One's name does not show up in a list of
  87. active users.  The only indication of one's presence is that, when
  88. entering chat, all new users are told that there are "N users on P
  89. servers."  If one checks on all users and finds less than N of them,
  90. one knows that others are hiding on negative channels.  But a hidden
  91. channel user still cannot be found except by brute-force checking
  92. through all channels, a hopeless proposition in the face of 10-digit
  93. channel numbers.  Security through obscurity finally means something.
  94.  
  95. ** 4.4: Channel limits
  96.  
  97. Most channels are limited by server design to accommodate 10 users
  98. each.  The exceptions to this are channels 1-9, where no limits on
  99. user population are enforced.  But keeping track of conversations
  100. among more than 10 people is, shall we say, troublesome at best.
  101. Users experienced in CompuServe's CB service, a fairly close
  102. conceptual equivalent to chat, should understand this if they think
  103. about CB channel 1 on a Friday night.
  104.  
  105. ** 4.5: Conversations not using channels
  106.  
  107. It is possible to conduct conversations with others without using the
  108. formalized channel structure.  Doing so requires that two people set
  109. themselves up for private conversation using special commands; see
  110. User Commands below.
  111.  
  112. * 5: Screen/keyboard structure
  113.  
  114. Chat is a full-screen utility.  It takes over the screen, with the
  115. bulk of activity happening in the top N-2 lines, a modeline (vaguely
  116. emacs-like) on the next to last line, and one's input being entered on
  117. the last line.  The rightmost position of the modeline indicates
  118. either OWR, meaning overwrite mode on input, or INS, meaning insert
  119. mode.  Default is OWR.
  120.  
  121. ** 5.1: Keyboard input
  122.  
  123. When typing commands at irc, one has a minimalist line-editing
  124. facility in an emacs style.  That is, ^A moves the cursor to the
  125. beginning of the line, ^E goes to the end, ^D deletes the character
  126. under the cursor, ^K kills from the cursor to the end, and so on.  If
  127. one is in overwrite mode, then typing occurs on top of any characters
  128. already present in the input line.  If insert mode is active, then
  129. characters in front of the cursor are pushed farther out as one types.
  130.  
  131. ** 5.2: Screen activity
  132.  
  133. Almost everything happens in the upper bulk of the screen.  This
  134. includes both messages from other users, as well as the output of the
  135. control commands.
  136.  
  137. Normal messages from other users appear with the originating nickname
  138. in <angle brackets>.  Private messages arrive with the originating
  139. nickname in *asterisks*.  Messages which one sends to everyone appear
  140. with a preceding "> " whereas messages which one sends privately to
  141. one other user appear with "-> *nickname*."
  142.  
  143. Other output (e.g., /who commands, invitations from other users to
  144. join channels, and so forth) appears interspersed with other activity
  145. on the screen.
  146.  
  147. * 6: Command structure
  148.  
  149. Ordinary text typed at irc is sent as one's messages to everyone else
  150. on the same channel, modulo personal choices for private messages and
  151. the like.  Commands to irc itself all begin with a command character,
  152. which is initially `/' but may be changed to any other character
  153. desired.
  154.  
  155. Commands may in general be abbreviated to a unique prefix.
  156.  
  157. ** 6.1: Leaving irc
  158.  
  159. The way to get out of irc is to enter the /signoff command.  "/si" is
  160. sufficient.  Also equivalent are "/exit," "/bye," and perhaps "quit."
  161.  
  162. ** 6.2: Getting help
  163.  
  164. Type "/help."  Follow the instructions.
  165.  
  166. ** 6.3: User commands
  167.  
  168. Other commands supported by irc are:
  169.  
  170.       help   signoff       who     whois
  171.       list     topic      join   channel
  172.      links       msg    invite    summon
  173.      users     stats      nick      away
  174.       info     clear     query     cmdch
  175.       date
  176.  
  177. *** 6.3.1: help
  178.  
  179. Information on how to use the rest of the system is available via
  180. /help.  The modeline says so as well.
  181.  
  182. *** 6.3.2: signoff
  183.  
  184. /signoff exits chat.
  185.  
  186. *** 6.3.3: who
  187.  
  188. /who returns information on who is using chat.  /who without arguments
  189. prints info on all users that can be seen.  Users of public channels
  190. show up with their channel identified.  Users of secret channels
  191. appear, but they are specified as being on a private, unspecified
  192. channel.  Users of hidden channels do not appear at all.
  193.  
  194. Giving a numeric argument to /who returns only those users of the
  195. specified channel.  This still doesn't show users of secret or hidden
  196. channels unless one is actually on that channel.
  197.  
  198. *** 6.3.4: whois
  199.  
  200. This returns information about individual users.  Say "/whois
  201. nickname" to get information on the login name and host from which the
  202. nicknamed user comes.
  203.  
  204. *** 6.3.5: topic
  205.  
  206. Channels can be given off-the-cuff "topics."  Saying "/topic some
  207. string of text" will associate that topic with the current channel.
  208.  
  209. *** 6.3.6: list
  210.  
  211. /list will give lists of active channels, the number of users of each,
  212. and the topics therewith associated.  Again, secret and hidden
  213. channels do not appear.
  214.  
  215. *** 6.3.7: join & channel
  216.  
  217. /join or /channel are the means to enter a channel.  Give a numeric
  218. argument for the channel one wishes to enter.  If this is a secret or
  219. hidden channel, /who commands will show oneself and any other users of
  220. one's channel.
  221.  
  222. One's arrival on a channel is announced to the rest of the users
  223. already on that channel.  Silent, anonymous "lurking" is not
  224. supported.
  225.  
  226. *** 6.3.8: links
  227.  
  228. /links lists the currently-active set of chat servers.  Beware: this
  229. list can be quite long, and will undoubtedly get longer as chat gains
  230. wider use.  As of 22 March 1989, about 15-20 servers is typical.
  231.  
  232. *** 6.3.9: msg
  233.  
  234. A single message can be sent privately to a certain user with /msg.
  235. Type /msg nickname and the text to be sent.  It will be sent privately
  236. to the indicated nickname.
  237.  
  238. *** 6.3.10: invite
  239.  
  240. If there is a user online to whom one wishes to speak, one may invite
  241. that user to join oneself on a certain channel.  One types "/invite
  242. nickname" with an optional channel number.  The receiving user gets a
  243. one-line message indicating the sender and the invitation.  The
  244. receiving user is free to ignore the invitation, of course.
  245.  
  246. *** 6.3.11: summon
  247.  
  248. An extreme form of /invite is /summon.  "/summon user@host" will
  249. request the user on the specified host to enter the chat system.  Do
  250. not do this unless one is fairly sure that one's request will be
  251. welcome - it can be a fairly disturbing and sometimes irritating
  252. intrusion.  In order for /summon to work, the specified host must be a
  253. connected chat server - one can't summon random people from around the
  254. Internet.
  255.  
  256. *** 6.3.12: users
  257.  
  258. /users will return a list of the users logged into one's system.  With
  259. an optional hostname identifying a chat server host, the users logged
  260. into that system will be listed.
  261.  
  262. *** 6.3.13: stats
  263.  
  264. This command returns counts of various protocol operations of one's
  265. chat server.  It is neither particularly useful nor interesting; it
  266. was, at one time, a debugging aid.
  267.  
  268. *** 6.3.14: nick
  269.  
  270. One can change nicknames by issuing "/nick new-nickname."  All users
  271. on one's channel will be advised of the change.  NOTE: If one enters
  272. chat with a nickname clash (e.g., one's login name is the same as
  273. someone else's, and the other user got there first), the system will
  274. not let one enter until one issues a /nick command with a unique
  275. nickname.
  276.  
  277. *** 6.3.15: away
  278.  
  279. Sometimes, one wishes to remain connected to the chat system, but one
  280. must be elsewhere for a while.  One can issue an /away command with
  281. arbitrary text as argument, which will mark oneself as being away.  If
  282. someone sends an away'd user a private message (via /msg or in a
  283. private session set up via /query; see below), the sender will get a
  284. message back from the server indicating the away-ness and the message
  285. which was set.
  286.  
  287. *** 6.3.16: info
  288.  
  289. /info returns information regarding the author and copyright of the
  290. chat system.
  291.  
  292. *** 6.3.17: clear
  293.  
  294. At times, one wishes that one's screen weren't so cluttered.  /clear
  295. makes it so.
  296.  
  297. *** 6.3.18: query
  298.  
  299. This command is used to set up private communications `outside' the
  300. normal channel system.
  301.  
  302. When one enters "/query nickname," the indicated nickname is set up as
  303. the sole recipient of anything which one types thereafter.  Thus, if
  304. user A executes "/query B" and user B executes "/query A," they have
  305. set up a private communication between themselves.  Significantly, it
  306. remains possible for them to stay on their respective channels, which
  307. need not be the same, and listen to whatever conversation is going on
  308. around them as well, though they cannot respond to that ambient
  309. conversation without leaving the private conversation they have set up.
  310.  
  311. One leaves this private mode by issuing /query without arguments.
  312.  
  313. *** 6.3.19: cmdch
  314.  
  315. The `/' character may not be best for some people to use as their
  316. command character.  It can be changed with "/cmdch <character>."
  317.  
  318. ** 6.4: Operator commands
  319.  
  320. The chat system administrators on each host have additional
  321. responsibilities and power over the configuration and operation of the
  322. servers.  The commands to do so are delineated below.
  323.  
  324. *** 6.4.1: oper
  325.  
  326. Users who have the potential for operator privileges initially invoke
  327. those privileges by "/oper nickname password," where nickname is the
  328. nickname under which operation is intended, and password is the
  329. password known to the chat system for that nickname.
  330.  
  331. *** 6.4.2: kill
  332.  
  333. Obnoxious users had best beware the operator who's fast on the /kill
  334. command.  "/kill nickname" blows any given nickname completely out of
  335. the chat system.
  336.  
  337. Obnoxiousness is not to be tolerated.  But operators do not use /kill
  338. lightly.
  339.  
  340. *** 6.4.3: quote
  341.  
  342. Raw access to the underlying server protocol is possible through the
  343. user of the /quote command.  "/quote any text at all" is used to send
  344. direct, unmodified commands to the servers.  This has a wide variety
  345. of uses, such as deliberately killing a local or remote chat daemon,
  346. invoking operator privileges for otherwise-operator-priv-forbidden
  347. users, and related tasks.  It is, again, a very powerful operation,
  348. and not to be used lightly.
  349.  
  350. * 7: Questions, problems, troubles?
  351.  
  352. Write mail to local irc coordinator.
  353.